package File;

import java.io.File;
import java.util.Scanner;

//进行扫描一个指定目录：要求
// ①：并找到名称中包含指定符的所有普通文件
// ②：并且后续询问用户是否要删除文件；
public class Demo12 {
    public static void main(String[] args) {
        //1.首先要进行扫描目录，扫描目录需要进行判断是否是目录还是普通文件；
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要扫描的目录");
        String rootdiy=scanner.next();
        //进行判断输入的文件是否是目录文件；
        File rootFile=new File(rootdiy);
        if(!rootFile.isDirectory()){
            System.out.println("该文件不是目录文件");
            return;
        }
        System.out.println("请输出你要删除的关键字");
        String keyword=scanner.next();
        //接下来，从根目录中的所有普通文件中进行寻找关键字；
        scanRoot(rootFile,keyword);
    }
    private static void scanRoot(File rootFile,String keyword){
        //首先进行获取目录文件下的普通文件；
        File[] files=rootFile.listFiles();
        if(files==null){
            System.out.println("该目录文件为空");
            return;
        }
        //反之：则不为空进行遍历根目录下的文件进行寻找普通文件；
        for(File fileKey:files){
            if(fileKey.isFile()){
               //如果是普通文件就进行删除操作；
               deleFile(fileKey,keyword);

            }else{
                //如果其依旧是目录文件，就再次进行寻找子目录下的普通文件；
                scanRoot(fileKey,keyword);
            }
        }
    }
    private static void deleFile(File fileKey,String keyword){
        //首先进行判断该普通文件的名字中是否包含关键字；
        if(fileKey.getName().contains(keyword)){
            //判断用户是否要进行删除文件操作；
            System.out.println("该文件"+fileKey.getAbsolutePath()+"包含关键字是否要进行删除操作:(y/n");
            System.out.println("请输入你要执行的操作");
            Scanner scanner=new Scanner(System.in);
            String input=scanner.next();
            if(input.equalsIgnoreCase("y")){
                //进行删除操作；
                fileKey.delete();
                System.out.println("文件删除完毕");
            }
        }
    }



}
